/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.agi.myhome;

import br.com.agi.myhome.dominio.DominioException;
import br.com.agi.myhome.dominio.Estoque;
import br.com.agi.myhome.dominio.EstoqueProduto;
import br.com.agi.myhome.dominio.Produto;
import br.com.agi.myhome.servicos.CadastradorProduto;
import br.com.agi.myhome.util.BeanUtil;
import br.com.agi.myhome.util.FacesMsg;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.enterprise.context.Conversation;
import javax.enterprise.context.ConversationScoped;
import javax.enterprise.context.RequestScoped;
import javax.inject.Inject;
import javax.inject.Named;

/**
 *
 * @author Renato
 */

@Named
@ConversationScoped
public class FormularioEstoque implements Serializable{
    
    public FormularioEstoque(){
        this.iniciarPagina();
    }
    
    @Inject
    private Conversation conversation;
    
    private List <Estoque> estoque;
    private CadastradorProduto cadastradorProduto;
    
    
    public void iniciarPagina(){           
        this.estoque=new ArrayList<Estoque>();
        this.estoqueProduto=new EstoqueProduto();
        this.estoqueProduto.setQuantidade(1);
        this.estoqueProduto.setProduto(new Produto());
    }
    
    
    public void iniciarConversacao(){
        this.iniciarPagina();
        if(!conversation.isTransient()){
            conversation.end();
        }
        conversation.begin();
    }
    private EstoqueProduto estoqueProduto;
    
        public EstoqueProduto getEstoqueProduto() {
        return estoqueProduto;
    }

    public void setEstoqueProduto(EstoqueProduto estoqueProduto) {
        this.estoqueProduto = estoqueProduto;
    }

    public List<Estoque> getEstoque() {
        return estoque;
    }

    public void setEstoque(List<Estoque> estoque) {
        this.estoque = estoque;
    }
    
    
    public void setCadastradorProduto(CadastradorProduto cadastradorProduto){
        this.cadastradorProduto=cadastradorProduto;
    }
    
    public void montarLista(){
        Produto produto;
        List<EstoqueProduto> listaEstoqueProduto;
        produto=this.estoqueProduto.getProduto();
        listaEstoqueProduto=this.cadastradorProduto.getListaEstoqueProduto(produto);                
        
        estoque.clear();       
        for(EstoqueProduto item : listaEstoqueProduto){
            estoque.add(item.getEstoque());
        }
    }
    
    
}
